<template><div><ol>
<li>HashMap 底层是⼀个数组</li>
</ol>
<p>2.数组中每个元素是⼀个单向链表（即，采⽤拉链法解决哈希冲突）</p>
<ul>
<li>单链表的节点每个节点是 Node&lt;K, V&gt; 类型（见下源码）</li>
</ul>
<p>3.同⼀个单链表中所有 Node 的 hash值不⼀定⼀样，但是他们对应的数组下标⼀定⼀样</p>
<ul>
<li>数组下标利⽤哈希函数/哈希算法根据 hash值计算得到的</li>
</ul>
<p>4.HashMap 是数组和单链表的结合体</p>
<ul>
<li>数组查询效率⾼，但是增删元素效率较低</li>
<li>单链表在随机增删元素⽅⾯效率较⾼，但是查询效率较低</li>
<li>HashMap 将⼆者结合起来，充分它们各⾃的优点</li>
</ul>
<p>5.HashMap 特点</p>
<ul>
<li>⽆序、不可重复</li>
<li>⽆序：因为不⼀定挂在那个单链表上了</li>
</ul>
<p>6.为什么不可重复？</p>
<ul>
<li>通过重写 equals ⽅法保证的</li>
</ul>
</div></template>


